home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 19 / Amiga Plus Leser CD 19.iso / Tools / DruckerTreiber / NetPar / Install_Client next >
Text File  |  1998-06-20  |  17KB  |  614 lines

  1. ; NetPar Client Installation Script
  2. ;
  3. ; NetPar Client © MikeySoft 1997-98 "When Mikey Goes Soft"
  4. ;
  5.  
  6. (transcript "NetPar Installation")
  7.  
  8.  
  9. ; Welcome to Netpar Installation
  10. ;
  11. (set @default-dest "DEVS:")
  12. (welcome "Please read the AmigaGuide Documentation concerning "
  13.          "installation of this product. NetPar now supports the "
  14.          "prt_42.50 printer, TurboPrint, as well as the original "
  15.          "parallel.device replacement. This version of NetPar is NOT "
  16.          "compatible with the current NetPar Server or TestPar programs.\n\n")
  17.  
  18. ;Choosing which Action the user wishes to take
  19. ;
  20. (set Action
  21.         (askchoice
  22.                 (prompt "NetPar Client © MikeySoft 1997-98\n"
  23.                         "\"When Mikey Goes Soft\"\n"
  24.                         "\n"
  25.                         "What Action do you want to take?\n"
  26.                         "(Note: Please read AmigaGuide Docs\nabout installation first!)")
  27.                 (help @askchoice-help)
  28.                 (choices "Change Installed Settings"
  29.                          "Install Normal NetPar (parallel.device)"
  30.                          "Install PRT_42.50/TurboPrint NetPar (netpar.device)"
  31.                          "Remove NetPar Installation")
  32.                 (default 0)
  33.         )
  34. )
  35.  
  36. ; These are the possible Action modes. They
  37. ; are defined to make reading the installation
  38. ; script easy.
  39. (set Settings   0)
  40. (set NetPar     1)
  41. (set PRT4250    2)
  42. (set Remove     3)
  43.  
  44. (debug "User Action" Action)
  45.  
  46. ;
  47. ; Checking to See if NetPar Client has already been installed
  48. ;
  49. (set FinalAction 0)
  50. (set #OldPar "DEVS:orig_parallel.device")
  51. (if (exists #OldPar (noreq))
  52.    (if (= Action NetPar)
  53.       (set FinalAction 1)
  54.    )
  55. )
  56.  
  57. ; Debug or Not Debug
  58. (set Mode 0)
  59. ; Debug no longer used. Mode still set by default
  60.  
  61.  
  62. (if (OR (= Action NetPar)(= Action PRT4250))
  63.    (if (= Mode 0)
  64.       (if (patmatch "68060" (database "cpu"))
  65.          (
  66.             (set #WhatCPU 3)
  67.          )
  68.          (
  69.             (if (patmatch "68040" (database "cpu"))
  70.                (
  71.                   (set #WhatCPU 2)
  72.                )
  73.                (
  74.                   (if (patmatch "68030" (database "cpu"))
  75.                      (
  76.                         (set #WhatCPU 1)
  77.                      )
  78.                      (
  79.                         (if (patmatch "68020" (database "cpu"))
  80.                            (
  81.                               (set #WhatCPU 1)
  82.                            )
  83.                            (
  84.                               (set #WhatCPU 0)
  85.                            )
  86.                         )
  87.                      )  
  88.                   )
  89.                )
  90.             )
  91.          )
  92.       )
  93.    )
  94. )
  95.  
  96. (if (OR (= Action NetPar) (= Action PRT4250 ))
  97.    (if (= Mode 0)
  98.       (set #MyCPU
  99.          (askchoice
  100.             (prompt "Which version of the NetPar Client do you \n"
  101.                     "want to install?\n\n")
  102.             (help @askchoice-help)
  103.             (choices "68000|68010" "68020|68030" "68040" "68060")
  104.             (default #WhatCPU)
  105.          )
  106.       )
  107.    )
  108. )
  109.  
  110. ; NetPar Installation setup
  111. (if (= Action NetPar)
  112.    (if (= Mode 0)
  113.       (if (= #MyCPU 3)
  114.          (
  115.             (set #NewSource  "parallel.device.060")
  116.             (set #NewSource2 "NetParSpool.060")
  117.          )
  118.          (
  119.             (if (= #MyCPU 2)
  120.                (
  121.                   (set #NewSource  "parallel.device.040")
  122.                   (set #NewSource2 "NetParSpool.040")
  123.                )
  124.                (
  125.                   (if (= #MyCPU 1)
  126.                      (
  127.                         (set #NewSource  "parallel.device.020")
  128.                         (set #NewSource2 "NetParSpool.020")
  129.                      )
  130.                      (
  131.                         (set #NewSource  "parallel.device.000")
  132.                         (set #NewSource2 "NetParSpool.000")
  133.                      )
  134.                   )
  135.                )
  136.             )
  137.          )
  138.       )
  139.    )
  140. )
  141.  
  142. ; NetPar Prt_42.50 Installation setup
  143. (if (= Action PRT4250)
  144.    (if (= Mode 0)
  145.       (if (= #MyCPU 3)
  146.          (
  147.             (set #NewSource  "NetPar.device.060")
  148.             (set #NewSource2 "NetParSpool.060")
  149.          )
  150.          (
  151.             (if (= #MyCPU 2)
  152.                (
  153.                   (set #NewSource  "NetPar.device.040")
  154.                   (set #NewSource2 "NetParSpool.040")
  155.                )
  156.                (
  157.                   (if (= #MyCPU 1)
  158.                      (
  159.                         (set #NewSource  "NetPar.device.020")
  160.                         (set #NewSource2 "NetParSpool.020")
  161.                      )
  162.                      (
  163.                         (set #NewSource  "NetPar.device.000")
  164.                         (set #NewSource2 "NetParSpool.000")
  165.                      )
  166.                   )
  167.                )
  168.             )
  169.          )
  170.       )
  171.    )
  172. )
  173.  
  174.  
  175. ; Start the install
  176. (if (= Action NetPar)
  177.    ;Is it a New install?
  178.    (if (= FinalAction 0)
  179.       (if (not(exists #OldPar (noreq)))
  180.          (run "rename devs:parallel.device devs:orig_parallel.device"
  181.             (prompt "Renaming DEVS:Parallel.Device into DEVS:Orig_Parallel.Device. "
  182.                     "NetPar Client will replace your Original Parallel.device. If "
  183.                     "this step is skipped, the installation will not work."
  184.                     "\n\nNOTE: This Install Script comes with a \"Remove\" option which will "
  185.                     "restore your computer to it\'s original settings.")
  186.            (help @run-help) 
  187.            (confirm)
  188.          )
  189.       )
  190.    )
  191. )
  192.  
  193.  
  194. ; Copy the normal NetPar.Device
  195. (if (= Action NetPar)
  196.    (if (exists #OldPar (noreq))
  197.       ; Do the Actual Copy
  198.       (copylib
  199.          (prompt "Copying NetPar Client into DEVS:")
  200.          (help @copylib-help)
  201.          (source #NewSource)
  202.          (dest   "DEVS:")
  203.          (newname "parallel.device")
  204.          (confirm)
  205.       )
  206.    )
  207. )   
  208.  
  209. ; Copy the PRT_42.50 NetPar.Device
  210. (if (= Action PRT4250 )
  211.    ; Do the Actual Copy
  212.    (copylib
  213.       (prompt "Copying NetPar Client into DEVS:")
  214.       (help @copylib-help)
  215.       (source #NewSource)
  216.       (dest   "DEVS:")
  217.       (newname "netpar.device")
  218.       (confirm)
  219.    )
  220. )
  221.  
  222. ; Copy the NetParSpool
  223. (if (OR (= Action NetPar) (= Action PRT4250 ))
  224.    (if (OR (exists #OldPar (noreq)) (= Action PRT4250 ))
  225.       ; Do the Actual Copy
  226.       (copylib
  227.          (prompt "Copying NetPar Spooler into DEVS:")
  228.          (help @copylib-help)
  229.          (source #NewSource2)
  230.          (dest   "DEVS:")
  231.          (newname "NetParSpool")
  232.          (confirm)
  233.       )
  234.    )
  235. )
  236.  
  237.  
  238. ;Adding the NetPar directories to env: and envarc:
  239. (if (<= Action PRT4250)
  240.    (if (NOT (exists "ENV:NetPar" (noreq)))
  241.       (run "makedir ENV:NetPar"
  242.           (prompt "Making Directory")
  243.       )
  244.    )
  245. )
  246.  
  247.  
  248. (if (<= Action PRT4250)
  249.    (if (NOT (exists "ENVARC:NetPar" (noreq)))
  250.       (run "makedir ENVARC:NetPar"
  251.           (prompt "Making Directory")
  252.       )
  253.    )
  254. )
  255.  
  256.  
  257. (if (NOT (exists "ENV:NetPar/SpoolDir" (noreq)))
  258.    ; Spool Directory
  259.    (if (<= Action PRT4250 )
  260.       (set SpoolDir
  261.           (askdir
  262.              (prompt "Where do you want to spool in printed files "
  263.                      "to? An additional directory will NOT be created. "
  264.                      "The information will be stored in ENV:NetPar/SpoolDir "
  265.                      "You can manually reset the variable later by using "
  266.                      "the setenv AmigaDOS command.")
  267.              (help @askdir-help)
  268.              (default "T:")
  269.          )
  270.       )
  271.    )
  272. )
  273.  
  274. ;Adding the SpoolDir
  275. (if (<= Action PRT4250)
  276.    (if (exists "ENV:NetPar" (noreq))
  277.       (run "setenv NetPar/SpoolDir" SpoolDir
  278.             (prompt "Making SpoolDir")
  279.       )
  280.    )
  281. )
  282.  
  283. ;
  284. ; Port Settings for Server Name and Printer Name...Go Here
  285. ;
  286. ;
  287.  
  288. ; Force NetPar into a Settings mode if it appears
  289. ; as if this is the first time the program has
  290. ; been installed
  291.  
  292. (set DoSetting 0)
  293.  
  294. (if (OR (= Action NetPar) (= Action PRT4250))
  295.    (if (NOT (exists  "ENV:NetPar/0/PrinterHOST" (noreq)))
  296.       (set DoSetting 1)
  297.    )
  298. )
  299.  
  300. (if (= Action Settings)
  301.    (set DoSetting 1)
  302. )
  303.  
  304. (if (= DoSetting 1)
  305.    (
  306.       ;
  307.       ; Getting ready to loop
  308.       (set DoAgain 1)
  309.       (set Unit 0)
  310.       (while (= DoAgain 1)
  311.  
  312.          ; So Now on with the PrinterHost
  313.          (set HostName "")
  314.          (if (exists ("ENV:NetPar/%ld/PrinterHOST" Unit))
  315.             (set HostName (getenv ("NetPar/%ld/PrinterHOST" Unit)))
  316.          )
  317.  
  318.          (set HostName
  319.             (askstring
  320.              (prompt ("Setting up Hostname for Unit #%ld\n\nWhat is the name of the host machine that you want to print to?\nCan also be the IP Address of a Network Ready Printer.\n\n"
  321.                        Unit))
  322.              (help @askstring-help)
  323.              (default ("%s" HostName))
  324.             )
  325.          )
  326.  
  327.          ; Now comes PrinterName
  328.          (set PrinterName "lp")
  329.          (if (exists ("ENV:NetPar/%ld/PrinterNAME" Unit))
  330.             (set PrinterName (getenv ("NetPar/%ld/PrinterNAME" Unit)))
  331.          )
  332.  
  333.          (set PrinterName
  334.             (askstring
  335.              (prompt ("Setting up Printer Name for Unit #%ld\n\nWhat is the name of the printer connected to\n\"%s\"\n\nUse \"lp\" for Network Ready Printers.\n\n"
  336.                        Unit HostName))
  337.              (help @askstring-help)
  338.              (default ("%s" PrinterName))
  339.             )
  340.          )
  341.  
  342.          ; Now comes Job Name
  343.          (set JobName "")
  344.          (if (exists ("ENV:NetPar/%ld/JobNAME" Unit))
  345.             (set JobName (getenv ("NetPar/%ld/JobNAME" Unit)))
  346.          )
  347.  
  348.          (set JobName
  349.             (askstring
  350.              (prompt ("Selecting a Job for Unit #%ld\n\nThis is used in the creation of a banner page\nfor your printout (up to 99 characters).\n\n No entry is required.\n\n"
  351.                        Unit))
  352.              (help @askstring-help)
  353.              (default ("%s" JobName))
  354.             )
  355.          )
  356.  
  357.          ; Now comes Query Name
  358.          (set QueryName "")
  359.          (if (exists ("ENV:NetPar/%ld/QueryNAME" Unit))
  360.             (set QueryName (getenv ("NetPar/%ld/QueryNAME" Unit)))
  361.          )
  362.  
  363.          (set QueryName
  364.             (askstring
  365.              (prompt ("Selecting a Query Name for Unit #%ld\n\nThis is used to help you identify your printouts\n(up to 131 characters).\n \nThis information will be returned when you\nquery (\"lpq\") the server for status\n\n No entry is required.\n\n"
  366.                        Unit))
  367.              (help @askstring-help)
  368.              (default ("%s" QueryName))
  369.             )
  370.          )
  371.  
  372.          ; Time to place these values into ENV:
  373.          (if (NOT (exists ("ENV:NetPar/%ld" Unit)))
  374.             (run ("makedir ENV:NetPar/%ld" Unit)
  375.                  (prompt "Making Unit Directory")
  376.             )
  377.          )
  378.  
  379.          (if (exists ("ENV:NetPar/%ld" Unit))
  380.             (
  381.                (run ("setenv NetPar/%ld/PrinterHOST \"%s\"" Unit HostName)
  382.                     (prompt "Storing Hostname")
  383.                )
  384.                (run ("setenv NetPar/%ld/PrinterNAME \"%s\"" Unit PrinterName)
  385.                     (prompt "Storing Printer name")
  386.                )
  387.                (if (> (strlen JobName) 0)
  388.                   (run ("setenv NetPar/%ld/JobNAME \"%s\"" Unit JobName)
  389.                        (prompt "Storing selected Job")
  390.                   )
  391.                   ((if (exists ("ENV:NetPar/%ld/JobNAME" Unit))
  392.                       (delete ("ENV:NetPar/%ld/JobNAME" Unit)
  393.                           (prompt "Removing Old Job")
  394.                           (optional "force")
  395.                       )
  396.                    )
  397.                    (if (exists ("ENVARC:NetPar/%ld/JobNAME" Unit))
  398.                       (delete ("ENVARC:NetPar/%ld/JobNAME" Unit)
  399.                           (prompt "Removing Old Job")
  400.                           (optional "force")
  401.                       )
  402.                    )
  403.                   )
  404.                )
  405.                (if (> (strlen QueryName) 0)
  406.                   (run ("setenv NetPar/%ld/QueryNAME \"%s\"" Unit QueryName)
  407.                        (prompt "Storing selected Query")
  408.                   )
  409.                   ((if (exists ("ENV:NetPar/%ld/QueryNAME" Unit))
  410.                       (delete ("ENV:NetPar/%ld/QueryNAME" Unit)
  411.                           (prompt "Removing Old Query")
  412.                           (optional "force")
  413.                       )
  414.                    )
  415.                    (if (exists ("ENVARC:NetPar/%ld/QueryNAME" Unit))
  416.                       (delete ("ENVARC:NetPar/%ld/QueryNAME" Unit)
  417.                           (prompt "Removing Old Query")
  418.                           (optional "force")
  419.                       )
  420.                    )
  421.                   )
  422.                )
  423.             )
  424.          )
  425.  
  426.          ; Time to test for PrinterPorts
  427.          (if (AND (exists "DEVS:netpar.device") (exists "DEVS:PrinterPorts"))
  428.  
  429.             (
  430.                 ; Forcfully copy the default icon
  431.                 (copyfiles
  432.                      (prompt "Setting up PRT 42.50 Printer Port Icon")
  433.                      (help @copyfiles-help)
  434.                      (source "prt_42.50_icon/NetPar.info")
  435.                      (dest   "DEVS:PrinterPorts")
  436.                      (newname ("NetPar %ld.info" Unit))
  437.                      (files)
  438.                      (optional "force")
  439.                 )
  440.  
  441.                 ; Now set the Unit Number in the icon
  442.                 (tooltype
  443.                      (prompt "Setting up PRT 42.50 Printer Port Icon")
  444.                      (help @tooltype-help)
  445.                      (dest ("DEVS:PrinterPorts/NetPar %ld" Unit))
  446.                      (settooltype "UNIT" ( "%ld" Unit))
  447.                 )
  448.             )
  449.          )
  450.  
  451.  
  452.          ; See if we need to loop again. First loop is automatic.
  453.          (set DoAgain
  454.              (askchoice
  455.                 (prompt ("NetPar Client © MikeySoft 1997-98\n\"When Mikey Goes Soft\"\n\nWhat is next?\n\n( Next Unit : %ld )\n\n"
  456.                          (+ Unit 1)))
  457.                 (help @askchoice-help)
  458.                 (choices "Done Installing Ports"
  459.                          "Configure Next Port")
  460.                 (default 0)
  461.              )
  462.          )
  463.          ; Add one to Unit
  464.          (set Unit (+ Unit 1))
  465.       )
  466.    )
  467. )
  468. ;
  469. ;
  470. ;
  471. ;
  472.  
  473. ;  Saving settings to ENVARC:
  474. (if (<= Action PRT4250)
  475.     (if (exists "ENV:NetPar" (noreq))
  476.          (run "copy ENV:NetPar ENVARC:NetPar all quiet"
  477.               (prompt "Backing Up Settings")
  478.          )
  479.     )
  480. )
  481.  
  482. ;Warning message if user decides to not allow parallel.device rename...
  483. (if (= Action NetPar)
  484.    (if (not (exists #OldPar (noreq)))
  485.       (message "\ns s unable to rename current parallel.device to orig_parallel.device. "
  486.                "Installation was NOT Complete!"
  487.                (all)
  488.       )
  489.    )
  490. )
  491.  
  492. ;
  493. ; Now to check on a removal
  494. (if (= Action Remove)
  495.    (if (exists #OldPar (noreq))
  496.       (if (exists "DEVS:parallel.device" (noreq))
  497.          (delete "DEVS:parallel.device"
  498.             (prompt "Deleting old NetPar Client Installation")
  499.             (optional "force")
  500.          )
  501.       )
  502.    )
  503. )
  504.  
  505. (if (= Action Remove)
  506.    (if (exists "DEVS:NetParSpool" (noreq))
  507.       (delete "DEVS:NetParSpool"
  508.          (prompt "Deleting old NetPar Client Installation")
  509.          (optional "force")
  510.       )
  511.    )
  512. )
  513.  
  514. (if (= Action Remove)
  515.    (if (exists "DEVS:netpar.device" (noreq))
  516.       (delete "DEVS:netpar.device"
  517.          (prompt "Deleting old NetPar Client Installation")
  518.          (optional "force")
  519.       )
  520.    )
  521. )
  522.  
  523. (if (= Action Remove)
  524.    (if (exists #OldPar (noreq))
  525.       (rename #OldPar "DEVS:parallel.device"
  526.          (prompt "Returning the original parallel.device")
  527.       )
  528.    )
  529. )
  530.  
  531.  
  532. (if (= Action Remove)
  533.    (if (exists "ENV:NetPar" (noreq))
  534.       (run "delete ENV:NetPar all quiet"
  535.          (prompt "Removing NetPar")
  536.       )
  537.    )
  538. )
  539.  
  540. (if (= Action Remove)
  541.    (if (exists "ENVARC:NetPar" (noreq))
  542.       (run "delete ENVARC:NetPar all quiet"
  543.           (prompt "Removing NetPar")
  544.       )
  545.    )
  546. )
  547.  
  548. (if (= Action Remove)
  549.    (if (exists "DEVS:PrinterPorts" (noreq))
  550.       (run "delete DEVS:PrinterPorts/NetPar#? quiet"
  551.           (prompt "Removing NetPar")
  552.       )
  553.    )
  554. )
  555.  
  556.  
  557. ; Cleaning up old NetPar setups.
  558. (if (exists "ENV:PrintHOST" (noreq))
  559.       (delete "ENV:PrintHOST"
  560.          (prompt "Removing PrintHOST")
  561.          (optional "force")
  562.       )
  563. )
  564.  
  565.  
  566. (if (exists "ENVARC:PrintHOST" (noreq))
  567.       (delete "ENVARC:PrintHOST"
  568.           (prompt "Removing PrintHOST")
  569.           (optional "force")
  570.       )
  571. )
  572. (if (exists "ENV:HOSTPrinter" (noreq))
  573.       (delete "ENV:HOSTPrinter"
  574.          (prompt "Removing HOSTPrinter")
  575.          (optional "force")
  576.       )
  577. )
  578.  
  579. (if (exists "ENVARC:HOSTPrinter" (noreq))
  580.       (delete "ENVARC:HOSTPrinter"
  581.           (prompt "Removing HOSTPrinter")
  582.           (optional "force")
  583.       )
  584. )
  585.  
  586. ;Cleaning up some Beta Versions of Netpar
  587. (if (exists "ENV:NetPar/PrinterHOST" (noreq))
  588.       (delete "ENV:NetPar/PrinterHOST"
  589.            (prompt "Removing old PrinterHOST")
  590.            (optional "force")
  591.       )
  592. )
  593.  
  594. (if (exists "ENVARC:NetPar/PrinterHOST" (noreq))
  595.       (delete "ENVARC:NetPar/PrinterHOST"
  596.            (prompt "Removing old PrinterHOST")
  597.            (optional "force")
  598.       )
  599. )
  600.  
  601. (if (exists "ENV:NetPar/PrinterNAME" (noreq))
  602.       (delete "ENV:NetPar/PrinterNAME"
  603.            (prompt "Removing old PrinterNAME")
  604.            (optional "force")
  605.       )
  606. )
  607.  
  608. (if (exists "ENVARC:NetPar/PrinterNAME" (noreq))
  609.       (delete "ENVARC:NetPar/PrinterNAME"
  610.            (prompt "Removing old PrinterNAME")
  611.            (optional "force")
  612.       )
  613. )
  614.